#pragma once
#include <iostream>

#include "hash.h"

void test1()
{
	MyHash::Hash<int,int> hash1;
	for (int i = 100;i < 200;i++)
	{
		hash1.insert({ i,i });
	}	
	for (int i = 1100;i < 1200;i++)
	{
		hash1.insert({ i,i });
	}
	for (int i = 2100;i < 2200;i++)
	{
		hash1.insert({ i,i });
	}
	for (int i = 3100;i < 3200;i++)
	{
		hash1.insert({ i,i });
	}
	for (int i = 4100;i < 4200;i++)
	{
		hash1.insert({ i,i });
	}
	for (int i = 5100;i < 5200;i++)
	{
		hash1.insert({ i,i });
	}
	std::cout << hash1.GetCapacity() << std::endl;
}

void test2()
{
	MyHash::Hash<int, int> hash1;
	hash1.insert({ 1,1 });
	hash1.insert({ 51,1 });
	hash1.insert({ 54,1 });
	hash1.insert({ 107,13 });
	hash1.insert({ 108,1 });
	hash1.insert({ 109,1 });
	hash1.insert({ 110,1 });
	hash1.insert({ 101,1 });
	hash1.insert({ 151,1 });
	hash1.insert({ 201,1 });
	hash1.insert({ 251,1 });
	hash1.insert({ 301,1 });
	hash1.insert({ 351,1 });
	hash1.insert({ 401,1 });
	hash1.insert({ 451,1 });
	hash1.insert({ 501,1 });
	hash1.insert({ 551,1 });
	hash1.insert({ 601,1 });
	hash1.insert({ 651,1 });
	hash1.insert({ 701,1 });
	hash1.insert({ 751,1 });
	hash1.insert({ 801,1 });
	hash1.insert({ 851,1 });
	hash1.insert({ 901,1 });

	int pos= hash1.find(107);
	//std::cout << pos << ' ' << hash1._hash[pos]._kv.second << std::endl;
	std::cout << pos << ' ' << hash1[pos]._kv.second << std::endl;
	std::cout << pos << std::endl;

	hash1.earse(107);
	pos = hash1.find(107);
	std::cout << pos <<  std::endl;


}
int main()
{
	test1();
	//test2();
	return 0;
}